Tracking user micro-interactions with web page advertising

ABSTRACT

In connection with display of advertising within Web pages, an applet is downloaded to the user&#39;s Web browser to track the user&#39;s interactions with the Web page. Tracked user interactions include mouse cursor position, time displayed on page, time of mouse cursor hovering over the advertisement, and so on. At an appropriate time, such as when the display of the Web page is terminated, the applet forwards logged interaction information from the client to a remote server, the remote server being typically controlled by an advertiser, rating service or the like. As a result, the advertiser may track consumer response to advertising impressions on a Web page without requiring the user to download other pages. This allows advertisers to track user response to specific elements of the Web page as well as to better infer information about the user&#39;s interests in an effort to qualify the user prior to presenting subsequent advertising.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 09/146,012, filed Sep. 2, 1998 which claims the benefit of U.S. Provisional Application No. 60/058,655, filed on Sep. 11, 1997.

The entire teachings of the above applications are incorporated herein by reference.

BACKGROUND OF THE INVENTION

Distributed computing environments are becoming a very popular mechanism for publishing information of various types. In such an environment, a network of several different types of computers is used in order to share access to information. Certain computers, known as servers, contain databases and other repositories of information. Other computers in the network, known as clients, act as interfaces for the human users to retrieve and display information.

One particularly well known example of a distributed computing environment is the World Wide Web. In this environment, the Web server computers presently in use typically store data files, or so-called Web pages, in a format known as Hypertext Markup Language (HTML). Web pages are transferred between Web servers and clients using a communication protocol known as Hypertext Transfer Protocol (HTTP). HTML permits the Web servers, or sites, to handle container or document files which reference other files of varying formats. Using HTML, a given Web page may include content information in various formats. An HTML format file may also refer to other files, by including reference information, known as a Uniform Reference Locator (URL), which specifies the location of remote Web servers at which the other files may be located.

Certain Web servers, such as those maintained by on-line service providers such as AMERICA ONLINE ®(AOL®) or Microsoft Network (MSN®), are an increasingly popular way for people to obtain information of interest on the World Wide Web. (AMERICA ONLINE®and AOL® are registered trademarks of America Online, Inc. of Dulles, Virginia. MSN® is a registered trademark of Microsoft Corporation of Redmond, Washington). Indeed, certain Web sites host search engines such as AltaVista®, Yahoo®, and InfoSeek™and thus are exclusively devoted to guiding users through the Web. (AltaVista™ is a trademark of AltaVista, Overture Services, Inc. of Pasadena, California; Yahoo™ is a trademark of Yahoo!Inc. of Sunnyvale, California; and InfoSeek™ is a trademark of InfoSeek Corporation of Sunnyvale, California). These sites are so popular that their operators provide their services free of charge to users of the Web, and support themselves typically by selling advertising space on their Web pages. Thus, an advertiser, for example, a running shoe manufacturer, may contract with a search service such as Yahoo, or an on-line service, such as AOL®, to periodically present its ads on their Web pages in much the same manner that commercials are traditionally purchased from television broadcasters.

Certain tools are presently in use by the providers of such services and advertisers, typically in order to calculate advertising rates. For example, the Web servers at such sites may count the number of times that the Web page containing the advertisement is displayed.

Alternatively, an advertiser may count the number of visits that its own Web page receives as a result of linking from the original Web page advertisement, i.e., the number of times that users request the URL of the advertiser's Web site via the original Web page on which the advertisement was displayed. In the usual model of user interaction with a Web page, this occurs whenever the user clicks (i.e., selects by a mouse input device) on a hypertext item. In many instances, objects such as graphical images or “GIFs” may be clicked on to activate the hypertext links.

Advertisers, however, would like not only to count a number of “impressions,” or how many times their advertisement is seen, but also to find a way to track how effective their ads are in attracting consumers' interest in their products.

Advertisers would also like to find a way to more precisely gauge a user's interest in a product, as well as to entice those users who are casually browsing through the World Wide Web, without actually requiring users to download the advertiser's Web page. In this manner, interest in a particular product or promotion could be gauged directly from data surrounding the initial presentation of the advertisement.

SUMMARY OF THE INVENTION

Briefly, the present invention is a technique for tracking user interactions with the elements that comprise a Web page advertisement. As a result, an advertiser may understand (make inferences as to) what motivates users to pay initial attention to and/or otherwise interact with Web page advertising.

The invention, in particular, tracks any sort of user “micro-interaction” with the advertisement. The user interactions which are tracked, for example, may include mouse movement, mouse clicks, and other mouse activity such as it relates to elements in the ad. These elements may include various display items such as graphics, pictures, or words, or may include user prompting items such as menus, buttons, or slides. Elements also may include defined regions of the advertisement.

The activities monitored may include how long an object is displayed, which objects are selected by a user, which items are considered by a user according to the amount of time the cursor hovers over the items, measuring the time of presentation of an element in various ways, and/or activating hyperlinks.

The tracked interactions are preferably logged to a local memory by a downloadable Web browser applet embedded in the Web page, such as a program written in an interpretive language such as Java™. (Java™ is a trademark of Sun Microsystems Corporation of Sunnyvale, Calif.)

The logged interactions as stored in the local memory file are then sent to a remote server at appropriate times. For example, in the preferred embodiment, the logged interaction information may be included in a “dummy” HTTP GET message sent by the client to the server at the time the applet is taken down, such as when the user requests that a next page be displayed.

The logged interaction information may be flushed in other ways, such as by sending a POST message to the server either periodically or upon occurrence of certain events.

The invention therefore permits the tracking of user interactions with a Web page advertisement before subsequent actions, such as loading the advertiser's home Web page, occur. For example, the applet may intercept multiple interactions such as mouse clicks on objects to further qualify a user before loading a specific one of the advertiser's own home Web pages.

As a result, the advertiser may obtain information about what interests the user without the user having to leave the originally displayed Web page or performing other tasks which are perceived as being cumbersome and/or distracting from what the user was originally doing.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.

FIG. 1 is a block diagram of a distributed computing system illustrating a manner of tracking user interaction with a Web page according to the invention.

FIG. 2 is a flow chart of the operations performed by an applet program according to the invention.

FIG. 3 is a typical Web page display illustrating how the invention may prequalify a user.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a block diagram of a distributed computing system 10. The distributed computing system 10 includes a number of computers 12, 20 interconnected by a communication media 14. The communication media 14, and in general the distributed computing system 10, may make use of any number of computer networking techniques such as local area networks (LANs), routers, dial-up connections, and/or other data communication techniques to form what has become known as an “intranet” or “internet.” In the preferred embodiment, the present invention is employed in what has become known as “the Internet,” which is an international computer network linking many millions of computers.

Typically the computers 12, 20 are personal computers, mini-computers, or the like. Certain of the computers in the distributed computing system 10 act as servers 12 a, 12 b, and are used primarily to store and supply information. One type of server 12 a which is in widespread use on the Internet is known as a Web server that provides access to information stored in a form known as a Web page 16.

Other computers in the distributed computing system 10 known as clients 20 a, . . . , 20 n are typically controlled by one user. The typical client computer 20 a includes, as for any computer, a processor 22, a memory 24, and a display 26. The client computers 20 allow a user to view Web pages 16 by “downloading” replica Web page files 40 to the client computer 20 a from the server computer 12 a over communication media 14. The Web page files 40 enable replication of the Web page 16 on the client computer 20 a. The downloading function is specifically performed by a browser program 28, which preferably includes browser program software such as Netscape Navigator™ or Microsoft Internet Explorer™. (Netscape Navigator™ is a trademark of Netscape Communications Corporation of Mountain View, Calif., and Internet Explore™ is a trademark of Microsoft Corporation of Redmond, Wash.) These browser programs include and/or permit the use of embedded interpretive languages 30, such as Java™, that may execute programs that are included in the Web page file 16.

The browser program 28 thus enables the user to create a view of the Web page 16, such as in a window 34 on the display 26. It should be understood that other windows 35 and other programs 36 may relate to other programs 31 that the user is presently running on the processor 22. In order to display the Web page 16, the browser program 28 typically downloads the Web page files to its local memory 24, storing it as a local replica 40. The Web page replica 40 includes various portions such as a Hypertext Markup Language (HTML) as well as other instructions for the Browser program 28 to format the Web page information in the window 34.

The Web page replica 40 also includes Java™ code 44 that includes instructions to be run while the user computer 20 a is displaying the Web page.

The display of the Web page replica 40 in the window 34 may include various regions such as a user input area 37 where the user enters addresses of Web pages that he or she desires to view, and menus 38 for other actions associated with operating the browser program 28 itself.

Of interest to the description of the present invention is a Web page replica 40 that contains at least one advertisement area 39. The advertisement 39 on the Web page replica 40 is typically created by the provider of a service or product manufacturer. The advertisement 39 is typically used as an enticement for the user to download other Web pages specifically associated with the originator or author of the advertisement 39.

In accordance with the invention, the Java™ code 44 includes an applet program and data for tracking and logging the activities of the user in memory 24 while the user is viewing the Web page replica 40. The applet program 44 therefore permits the authors of the advertisement 39 to better understand how the users interact with the Web page advertisement in order to provide more effective advertising.

More specifically, the Web page replica 40 includes the Java™ code applet 44 that describes the particular attributes of the advertisement 39. Once the Web page replica 40 begins to display, the applet 44 also begins to execute in order to track and/or log user activities as they relate to various parts or objects of the advertisement 39.

For example, the applet 44 may include information that describes regions 46 of the advertisement 39, a list of visual elements 48 associated with the advertisement 39, and/or user activity definitions 50 that may take place within the context of the advertisement 39. The regions 46 may define areas within the advertisement 39, such as areas devoted to text or graphics. The elements 48 within the advertisement 39 may include various graphical images. The elements 48 may also include user prompts such as buttons, menus, slide bars, radio buttons, and the like.

The list of activity definitions 50 may include various types of user input. The most important user input is typically mouse position, as reflected by the position of a cursor 33, but these may also include other user inputs such as mouse clicks or keyboard inputs.

FIG. 2 is a flow chart of the operations performed by the applet 44 in the process of tracking user interactions with the advertisement 39. An initial state 100 is entered when the applet is first started. This typically occurs when the user requests the display of the Web page 16 and the replica 40 has been downloaded or has at least begun being downloaded from the server 12 a.

In the next state 101, the applet program 44 begins execution on the client computer 20 a. This is typically in the context of an interpretative language such as the Java™ language executed within the browser 28. However, it should be understood that the applet may be implemented in other ways, as long as the applet 44 has access to the appropriate user inputs and local memory 24 for the logging of user activities with respect to the advertisement 39.

In the next state 102, the applet 44 establishes a local list of elements and regions on the Web page replica 40 associated with the advertisement 39 that are of concern.

A next state 104 is then entered in which user activities with respect to objects within the advertisement 39 may begin to be tracked by logging information in local memory locations 24 at the client 20. From this state 104, any number of states 106 through 114 and/or state 118 may be next entered for any given element 48.

For example, in state 106, the elapsed time that the element 48 has been displayed on the page is tracked.

In state 108, the fact that the mouse hovered near an element 48, i.e., the fact that the user moved the mouse within a region 46 of the page associated with the element 48 but did not actually click on the element, is tracked.

In state 110, the fact that the user clicked on an element 48 is tracked. It should be noted that this may include the tracking of one or more mouse clicks on one or more elements 48 by making multiple entries in the log 60. Thus, unlike the standard operation of an HTML hyperlink, a single mouse click may not necessarily automatically lead to the loading of the next Web page 16.

In state 112, the applet 44 tracks cursor 33 location at the moment of a mouse click with respect to the element 48.

In another state 114, the applet 44 may adjust the time frame associated with the particular action being logged. For example, when the user initially views a Web page 40, certain activities such as cursor 33 location maybe tracked in short-time intervals such as microseconds. However, other items such as the elapsed time an element 48 is displayed on the page may be tracked in longer time intervals such as seconds. Certain items such as cursor hover time may initially be tracked in a microsecond time frame, and then, depending upon the amount of time the element has been displayed, will switch to tracking a longer time interval, such as seconds.

In state 116, the fact of the user requesting a different Web page is tracked.

It should be understood that, in states 106 through 114, data associated with the various user activities is logged in a portion of the memory 24 associated with maintaining an activity log 60.

Eventually, a state 118 is reached in which the user indicates that he or she wishes to leave the present page 40. This event is typically associated with loading another page in state 116 or may also include the closing of the browser program window 34.

At certain times, state 120 is entered in which the activity log 60 is sent from the local memory 24 by the applet 44 back to a server 12 b. The server 12 b is typically associated with the advertiser, or an advertisement rating service. This server 12 b may or may not be the same server 12 a from which the Web page 46 was originally downloaded. The applet 44 may then terminate.

In the preferred implementation of state 120, the activity log 13 is sent to the server 12 b via a “dummy” HTTP GET message sent via a “back channel” to the server 12 b at the time that the user leaves the present page 40. In particular, this back channel is a second network connection, different from the network connection used to fetch the Web page and download the applet in step 100. The dummy message is encoded as an HTTP GET with interaction log data shared in the GET message in such a way as to appear to be part of an extended address, for example. Thus, the browser program 28 does not need to perform any special functions or otherwise be modified.

However, the interaction log data may also be sent at other times. For example, while the advertisement is being displayed, the applet may periodically open a back channel connection and send a POST message to the server 12 b. Alternatively, certain events may trigger sending the logged interaction data, such as when the user clicks on a particular part of the advertisement.

What is important is that the logged interaction data is eventually flushed to the server 12 b, so that the author of the advertisement 39 may occasionally check on the collection 62 of activity logs stored at the server 12 b and analyze the data in order to determine the effectiveness of the advertisement 39.

FIG. 3 is a view of a Web page such as that produced by a search engine such as Yahoo®. The advertisement 39 is typically displayed in a defined region on the Web page 40. In this example, the effectiveness of the advertisement 39 associated with the advertiser who is in the running shoe business is being tracked. In the example, the applet 44 tracks how long a user allows the mouse cursor 50 to hover near one of the eight possible displayed selections for running shoes. The applet 44 also tracks the position of the mouse to determine which one or more of the running shoes is selected by user-activated mouse clicks. This information is then sent to the logging server 12 b and is used prior to loading the manufacturer's Web page. Thus, the relative interest in a particular type of shoe may be gauged before the advertiser's Web page is loaded or, indeed, a lack of interest, in particular lead or “teaser” items, may be determined prior to the user requesting that the manufacturer's Web page be loaded.

It is now understood how the invention provides various advantages over the prior art. In particular, the invention includes an applet 44 that is downloaded together with a Web page 40 (Web page files) capable of logging the user's interactions with elements 48 on the page. The applet in particular logs user interactions with the page 40 that indicates user interest to an advertiser. By identifying regions on the page and then tracking user activity and relating it to the particular elements or regions on the page, the advertiser may therefore more effectively evaluate the effectiveness of particular objects in the advertising.

By collecting the interaction data locally and then sending them to a server which logs data locally via a back channel, the operation of the client computer or data stored thereon need not be permanently modified.

By tracking multiple interactions before loading the advertiser's own Web page, the advertiser may prequalify a user and hence customize or tailor information to be displayed. In turn, the advertiser may more effectively present the information once the advertiser's Web page is requested by the user.

The user may also be enticed to interact with a Web page advertisement, thereby disclosing information about the user's interests, without their actually requesting the loading of Web pages associated with the advertiser.

While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. 

1. In a distributed computing system for displaying information, a method comprising the steps of: displaying to a user a representation of an advertisement in electronic form; tracking user interaction with the advertisement; logging the user interactions while the advertisement is being displayed to the user; and sending user interaction log data to a remote server; whereby log data is analyzed to determine effectiveness of the advertisement; and whereby advertisement information to be loaded is customized to the user based upon interest of the user determined from the user interaction log data; wherein the step of sending interaction log data additionally comprises the steps of: opening a connection to the remote server; and sending a message to the remote server over the connection, the message containing the user interaction log data; wherein the message is an HTTP GET message; and wherein the user interaction log data is encoded as to appear as part of an extended address field in the HTTP GET message.
 2. A method as in claim 1 wherein the interaction log data is sent to the remote server when the display of the advertisement is terminated by the user.
 3. A method as in claim 1 wherein the interaction log data is sent to the remote server upon the occurrence of a user interaction with the advertisement.
 4. A method as in claim 1 wherein the interaction log data is sent to the remote server periodically.
 5. A method as in claim 4 wherein the periodicity of the sending is variable.
 6. A method as in claim 4 wherein the periodicity of the sending is logarithmic.
 7. A method as in claim 1 wherein the interaction log data includes mouse position and time of mouse hovering over advertisement.
 8. A method as in claim 1 additionally comprising the step of: downloading the advertisement from a second server different from the remote server.
 9. The method as claimed in claim 1 wherein the step of tracking user interaction with the advertisement is performed periodically.
 10. A method as in claim 9 wherein the periodicity of the tracking is variable.
 11. A method as in claim 9 wherein the periodicity of the tracking is logarithmic.
 12. The method as claimed in claim 1 wherein the remote server is a user interaction log aggregation device.
 13. The method as claim in claim 1 whereby the logged user interaction data is stored at a local client computer and sent to a server other than the remote server which logs data locally via a back channel, and the data stored on the client computer is not permanently modified.
 14. In a distributed computing system for displaying information, a method comprising the steps of: displaying to a user a representation of a page in electronic form, the page containing at least one advertisement composed of two or more regions, each region containing a visual element of the advertisement; tracking user micro-interactions with each of the elements in the advertisement through the steps of: maintaining a list of elements displayed in the advertisement; determining when a screen pointer hover occurs within a particular element of the advertisement, and the screen pointer hover occurring without requiring a user interaction on the element; and creating a micro-interaction data record in response thereto; logging the micro-interaction data records while the advertisement is being displayed to the user; and sending the micro-interaction data records to a remote server; whereby the micro-interaction data records are analyzed to determine effectiveness of the advertisement; and whereby advertisement information to be loaded is customized to the user based upon interest of the user determined from the user micro-interaction data records ; wherein the step of sending micro-interaction data records additionally comprises the steps of: opening a connection to the remote server; and sending a message to the remote server over the connection, the message containing the micro-interaction data records; wherein the message is an HTTP GET message; and wherein the micro-interaction data records are encoded as to appear as part of an extended address field in the HTTP GET message.
 15. A method as in claim 14 wherein the micro-interaction data records are sent to the remote server when the display of the advertisement is terminated by the user.
 16. A method as in claim 14 wherein the micro-interaction data records are sent to the remote server upon the occurrence of a user interaction with the advertisement.
 17. A method as in claim 14 wherein the micro-interaction data records are sent to the remote server periodically.
 18. A method as in claim 14 wherein the micro-interaction data records include information with respect to screen pointer position within the element.
 19. A method as in claim 18 wherein the micro-interaction data records include information indicating a time sequence of screen pointer positions within the element.
 20. A method as in claim 14 additionally comprising the step of: downloading the advertisement from a second server different from the remote server.
 21. In a distributed system for displaying information content, a method comprising the steps of: displaying to a user a representation of the information content in electronic form; tracking user interaction with the information content; logging the user interactions while the information content is being displayed to the user; and sending user interaction log data to a remote user interaction log aggregation device; whereby log data is analyzed to determine effectiveness of the advertisement; and whereby information content to be loaded is customized to the user based upon interest of the user determined from the user interaction log data; wherein the step of sending interaction log data additionally comprises the steps of: opening a connection to the remote server; and sending a message to the remote server over the connection, the message containing the user interaction log data; wherein the message is an HTTP GET message; and wherein the user interaction log data is encoded as to appear as part of an extended address field in the HTTP GET message.
 22. In a distributed computing system for displaying information, a method comprising the steps of: displaying to a user a representation of an advertisement in electronic form, the advertisement comprising one or more promotions available from an advertiser; tracking user interaction with the advertisement including interaction with the one or more promotions available from the advertiser; logging the user interactions while the advertisement is being displayed to the user; and sending user interaction log data to a remote server; whereby the user interest in the one or more promotions available from the advertiser is gauged prior to the advertiser's Web page being loaded; and whereby the advertiser's information to be loaded is customized to the user based upon the user's gauged interest determined from the user interaction log data; wherein the step of sending user interaction log data additionally comprises the steps of: opening a connection to the remote server; and sending a message to the remote server over the connection, the message containing the user interaction log data; wherein the message is a HTTP GET message; and wherein the user interaction log data is encoded as to appear as part of an extended address field in the HTTP GET message.
 23. A method as in claim 22 wherein prior to the step of sending user interaction log data to a remote server the user interacts with the advertisement without requesting the loading of Web pages associated with the advertiser.
 24. A method as in claim 22 wherein the user interaction log data sent to the server comprises information about the user's interest, and wherein the information about the user's interest is obtained without the user requesting the loading of an advertisement associated with the advertiser.
 25. A method as in claim 22 whereby the log data allows the advertiser to understand how one or more users interact with the advertisement in order for the advertiser to further provide effective advertising.
 26. A method as in claim 22 whereby the log data is analyzed to determine effectiveness of the advertisement.
 27. The method as claimed in claim 22 wherein the advertisement comprises regions, visual elements associated with the advertisement, and user activity definitions.
 28. The method as claimed in claim 27 wherein the user activity definitions are defined within the advertisement's context.
 29. The method as claimed in claim 27 wherein the regions define areas within the advertisement including areas within the advertisement devoted to text and areas within the advertisement related to graphics.
 30. The method as claimed in claim 27 wherein the visual elements within the advertisement comprise one or more graphical images, and one or more user prompts.
 31. The method as claimed in claim 27 wherein the list of activity definitions comprises one or more types of user inputs.
 32. The method as claimed in claim 31 wherein the one or more types of user inputs comprise mouse position reflected by cursor position.
 33. A computer program for use in a distributed computing system on a computer readable medium, said computer program comprising: program step to display to a user a representation of an advertisement in electronic form; program step to track user interaction with the advertisement; program step to log the user interactions while the advertisement is being displayed to the user; and program step to send user interaction log data to a remote server; said computer program further comprising: a program step for subsequently analyzing log data to determine effectiveness of the advertisement; a program step for customizing advertisement information to be loaded based upon interest of the user determined from the user interaction log data; wherein the program step to send interaction log data additionally comprises: a program step for opening a connection to the remote server; and a program step for sending a message to the remote server over the connection, the message containing the user interaction log data; wherein the message is a HTTP GET message; and a program step for encoding the user interaction log data to appear as part of an extended address field in the HTTP GET message.
 34. A computer program for use in a distributed computing system on a computer readable medium, said computer program comprising: program step to display to a user a representation of an advertisement in electronic form, the advertisement comprising one or more promotions available from an advertiser; program step to track user interaction with the advertisement including interaction with the one or more promotions available from the advertiser; program step to log the user interactions while the advertisement is being displayed to the user; and program step to send user interaction log data to a remote server; said computer program further comprising: a program step whereby the user interest in the one or more promotions available from the advertiser is gauged prior to the advertiser's Web page being loaded; and a program step whereby the advertiser's information to be loaded is customized to the user based upon interest of the user determined from the user interaction log data; wherein the program step to send user interaction log data additionally comprises: a program step for opening a connection to the remote server; and a program step for sending a message to the remote server over the connection, the message containing the user interaction log data; wherein the message is a HTTP GET message; and a program step for encoding the user interaction log data to appear as part of an extended address field in the HTTP GET message. 